package com.object_;

public class Finalize_ {
    public static void main(String[] args) {
        Car bmw =  new Car("宝马");

        bmw = null;//这时 car对象是一个垃圾,垃圾回收器就会回收(销毁) 对象,在销毁对象前会调用该对象的finalize方法
        //程序员就可以在finalize中写自己的业务逻辑代码，比如释放资源，比如数据库的连接，或者是
        //如果程序员不重写finalize方法那么就会调用Object类的 finalize即默认处理
        //如果程序员重写了finalize方法就可以实现自己逻辑

    }

}

class  Car {
    private String name;
    private Object object;

    public Car(String name) {
        this.name = name;
    }
    //重写finalize
    //
//    protected void finalize() throws Throwable {
//        //重写 'java.lang.Object' 中弃用并标记为移除的方法
//        super.finalize();
//    }
}
